#include <iostream>
#include <string>

using namespace std;

class NonMotor
{
public:
    string Color, Brand;

    NonMotor(string c, string b) : Color(c), Brand(b) {}
};

class Bike : public NonMotor
{
public:
    string Seat;
    Bike(string Color, string Brand, string Seat) : NonMotor(Color, Brand), Seat(Seat) {}

    void Intro1()
    {
        cout << "This is a " << Color << " bike of the brand called " << Brand << "; it has got a seat made from " << Seat << "." << endl;
    }
};

class Ebike : public NonMotor
{
public:
    int Charge;
    Ebike(string Color, string Brand, int Charge) : NonMotor(Color, Brand), Charge(Charge) {}

    void Intro2()
    {
        cout << "This is a " << Color << " Ebike of the brand called " << Brand << "; now its battery capacity is " << Charge << "%." << endl;
    }
};

class Trike : public NonMotor
{
public:
    int Wheel;
    Trike(string Color, string Brand, int Wheel) : NonMotor(Color, Brand), Wheel(Wheel) {}

    void Intro3()
    {
        cout << "This is a " << Color << " Trike of the brand called " << Brand << "; it has got " << Wheel << " wheels made from black plastic." << endl;
    }
};

void testNonMotor()
{
    Bike Forever("white", "Forever", "leather");
    Forever.Intro1();

    Ebike Emma("pink", "Emma", 85);
    Emma.Intro2();

    Trike BigGang28("grey", "BigGang28", 3);
    BigGang28.Intro3();
}

int main()
{
    testNonMotor();
    return 0;
}
